---
description: Хук для работы с текущей датой с возможностью автоматического обновления при смене календарного дня.
---

<Overview type="hook">

# useTodayDate

Хук для работы с текущей датой с возможностью автоматического обновления при смене календарного дня.

</Overview>

## Практический пример

```jsx
const TodayTracker = () => {
  const today = useTodayDate(true); // Автообновление при смене дня
  const [counter, setCounter] = useState(0);

  // Сброс счетчика каждый день
  useEffect(() => {
    setCounter(0);
  }, [today]);

  return (
    <div>
      <p>Сегодня: {format(today, 'dd.MM.yyyy')}</p>
      <p>Действий сегодня: {counter}</p>
      <button onClick={() => setCounter((c) => c + 1)}>Выполнить действие</button>
    </div>
  );
};
```

## Особенности работы

### Параметры

Принимает единственный параметр `listenDayChangesForUpdate`, который при `true`:

- Обновляет дату ровно в 00:00 следующего дня.
- Следит за изменением видимости вкладки ([Page Visibility API](https://developer.mozilla.org/ru/docs/Web/API/Page_Visibility_API)).
- Автоматически корректирует время при возврате на вкладку.

### Возвращаемая дата

- Всегда содержит актуальные день/месяц/год.
- Время соответствует текущему системному времени.
- Оптимизирован для работы с "замороженными" вкладками.
